package com.org.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.org.bean.AdminInfoBean;
import com.org.dao.IAdminInfoDao;
import com.org.service.ILoginService;

@Service("loginS")
public class LoginServiceImpl implements ILoginService {
	// 依赖注入【反转控制】
	// 面向接口的编程
	@Resource
	private IAdminInfoDao loginD; // 按类型匹配进行注入

	/**
	 * 登录的查询用户和密码
	 */
	@Override
	public List<AdminInfoBean> queryLoginInfo(AdminInfoBean adminB) {
		// 测试调用
		// 调用Dao层的业务逻辑处理，进行数据库查询操作
		List<AdminInfoBean> lstAdmins = loginD.queryLoginInfo(adminB);
		// 返回结果
		return lstAdmins;
	}

	/**
	 * 新增用户信息
	 */
	@Override
	public int saveOrUpdateAdminInfo(AdminInfoBean adminB) {
		// 调用Dao层的业务逻辑处理，进行管理员信息新增或修改操作
		// 默认返回值
		int i = 0;
		if (adminB != null) {
			// 新增，主键为null
			if (adminB.getAdminid() == null) {
				i = loginD.insertSelective(adminB);
			} else {
				// 修改，主键不为null
				i = loginD.updateByPrimaryKeySelective(adminB);
			}
		}
		return i;
	}

	/**
	 * ajax查询
	 */
	@Override
	public List<AdminInfoBean> queryInfoByParams(AdminInfoBean adminB) {
		// 调用Dao层进行业务逻辑查询
		List<AdminInfoBean> lstAdmins = loginD.selectInfosBySelective(adminB);
		// 返回结果
		return lstAdmins;
	}

	@Override
	public AdminInfoBean selectByPrimaryKey(Integer adminid) {
		// 调用Dao层进行业务逻辑查询
		AdminInfoBean adminB = loginD.selectByPrimaryKey(adminid);
		// 返回结果
		return adminB;
	}

	@Override
	public List<AdminInfoBean> selectAllInfos() {
		// 调用Dao层进行业务逻辑查询
		List<AdminInfoBean> lstAdmins = loginD.selectInfosBySelective(new AdminInfoBean());
		// 返回结果
		return lstAdmins;
	}

	@Override
	public List<AdminInfoBean> selectByPrimaryKeyList(Integer adminid) {
		// 调用Dao层进行业务逻辑查询
		List<AdminInfoBean> lstAdmins = loginD.selectByPrimaryKeyList(adminid);
		// 返回结果
		return lstAdmins;
	}

	@Override
	public int logicDeleteByPrimaryKey(Integer adminid) {
		// 调用dao层进行逻辑删除
		int i = loginD.logicDeleteByPrimaryKey(adminid);

		return i;
	}

	@Override
	public int updateByPrimaryKeySelective(AdminInfoBean adminB) {
		// 调用dao层进行修改
		int i = loginD.updateByPrimaryKeySelective(adminB);

		return i;
	}



}
